Skip to content

[FEAT] Add empty project structure for already existing projects#5

Merged
martian56 merged 1 commit intomainfrom
empty-project-structure-for-already-existing-projects
Dec 26, 2025
Merged

[FEAT] Add empty project structure for already existing projects#5
martian56 merged 1 commit intomainfrom
empty-project-structure-for-already-existing-projects

Conversation

@martian56
Copy link
Owner

This pull request introduces a more flexible and user-friendly project initialization workflow for both the JavaScript and Python versions of the Ufazien CLI. The main improvements are: always generating essential files (such as .gitignore and a Ufazien-specific section in README.md), prompting the user to optionally create the full project structure, and enhancing how deployment instructions are documented. The changes also ensure version numbers are updated across both CLI packages.

User Experience Improvements:

  • The CLI now always creates essential files (.gitignore and a Ufazien deployment section in README.md), even if the user opts out of creating the full project structure. This ensures users always have basic deployment instructions and ignore rules in place. [1] [2] [3] [4]
  • Users are prompted to choose whether to generate the full project structure, making the initialization process more flexible and less intrusive. [1] [2]

README.md and Documentation Enhancements:

  • Added a new helper (createReadmeSection / create_readme_section) that creates or appends a Ufazien deployment section to README.md, tailored for the project type (build, PHP, or static). This ensures deployment instructions are always present and up-to-date. [1] [2]
  • If a README.md already exists, the Ufazien deployment section is appended only if it doesn't already exist, preventing duplication. [1] [2]

Project Structure and File Generation Logic:

  • The logic for creating .env, .ufazienignore, and config.php files has been clarified and streamlined, with clear separation between essential files (always created) and boilerplate files (created only if the user opts in). [1] [2]
  • The build project type is handled more cleanly, ensuring unnecessary files are not created and that deployment instructions are clear. [1] [2]

Version Updates:

  • Bumped the version numbers for both the JavaScript and Python CLI packages to 0.3.0 to reflect these new features. [1] [2] [3] [4]

Codebase Consistency:

  • Both the JavaScript and Python CLIs now follow a consistent workflow and user experience for project initialization and documentation. [1] [2]

Most important changes:

User Experience & Workflow:

  • Always create essential files (.gitignore, Ufazien deployment section in README.md) regardless of project structure choice; prompt user to optionally create full project structure. [1] [2]

Documentation:

  • Added createReadmeSection/create_readme_section to generate or append Ufazien deployment instructions to README.md, tailored by project type and avoiding duplication. [1] [2]

Project Structure Logic:

  • Improved logic for creating .env, .ufazienignore, and config.php files, with clear separation between essential and optional boilerplate files. [1] [2]
  • Cleaned up handling of build projects to avoid unnecessary files and clarify deployment instructions. [1] [2]

Versioning:

  • Updated version numbers for both CLI packages to 0.3.0. [1] [2] [3] [4]

@martian56 martian56 self-assigned this Dec 26, 2025
@martian56 martian56 added the enhancement New feature or request label Dec 26, 2025
@martian56 martian56 merged commit 43ffa3f into main Dec 26, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant